#ifndef USES_H
#define USES_H

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

class Uses {
public:
	//constructor
	Uses();
	//void setUsesS(int, int);  i think no such thing worx
	//setUsesS(int stmt#, int varIndex)
	
	//setter for parser: Joseph*
	static void setStmUsed(int, int);
	static void setVarUsed(int, int);

	//getter methods
	static vector<int> getStmUsed(int);
	static vector<int> getVarUsed(int);

	static bool isUsed(int, int);

	static bool isUsesS(int, int);
	static int getUsesS(int);
	static int getUsedS(int);
	//void setUsesP(int, int); 
	//setUsesP(int procIndex, int varIndex) //not for CS3201
	//bool isUsesP(int, int);
	//int getUsesP(int);
	//int getUsedP(int);
private:
	//declare 2d table
	static vector<vector<int>> stmUseTable;
	static vector<vector<int>> varUseTable;
};
#endif